﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;

namespace PRE.Login
{
    public partial class FrmChangePassword : DevExpress.XtraEditors.XtraForm
    {
        public static UTL.Session _sss = new UTL.Session();
        DAL.EntitiesDAL.UserDAL _dal = new DAL.EntitiesDAL.UserDAL();
        BLL.EntitiesBLL.UserBLL _bll = new BLL.EntitiesBLL.UserBLL();
        DAL.EntitesDAL.VaitroDAL _dal1 = new DAL.EntitesDAL.VaitroDAL();

        public FrmChangePassword()
        {
            InitializeComponent();
        }

        private void FrmChangePassword_Load(object sender, EventArgs e)
        {
            try
            {
                txt_NguoiDung.Text = FrmMain._sss.Id;
                bsiCapslock.Caption = Console.CapsLock ? "Mở" : "Tắt";
                txt_OldPassword.Properties.UseSystemPasswordChar = true;
                txt_NewPassword.Properties.UseSystemPasswordChar = true;
                txt_ConfirmNewPassword.Properties.UseSystemPasswordChar = true;
              }
            catch (Exception)
            {

            }
          }

        private void btn_Thoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void txt_OldPassword_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
                btn_DongY_Click(sender, e);
            if (e.KeyCode == Keys.CapsLock)
                bsiCapslock.Caption = Console.CapsLock ? "Mở" : "Tắt";
        }

        private void txt_NewPassword_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
                btn_DongY_Click(sender, e);
            if (e.KeyCode == Keys.CapsLock)
                bsiCapslock.Caption = Console.CapsLock ? "Mở" : "Tắt";
        }

        private void txt_ConfirmNewPassword_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
                btn_DongY_Click(sender, e);
            if (e.KeyCode == Keys.CapsLock)
                bsiCapslock.Caption = Console.CapsLock ? "Mở" : "Tắt";
        }

        private void btn_DongY_Click(object sender, EventArgs e)
        {
            var sss = (new BLL.EntitiesBLL.UserBLL()).CheckLogin(txt_NguoiDung.Text, txt_OldPassword.Text);
            if (sss.Login)
            {
                FrmMain._sss = sss;

                if (txt_NewPassword.Text != "" && txt_ConfirmNewPassword.Text != "" && txt_NewPassword.Text == txt_ConfirmNewPassword.Text)
                {
                    var o = new DAL.Entities.User()
                    {
                        Ten = txt_NguoiDung.Text.Trim(),
                        Matkhau = _bll.EncodeMD5(txt_NewPassword.Text)
                    };

                    var oki = _dal.Update_MatKhau(o);

                    if (oki)
                    {
                        XtraMessageBox.Show("Đã đổi mật khẩu thành công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        XtraMessageBox.Show("Lỗi! Thất bại", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    Close();
                }
                else
                {
                    XtraMessageBox.Show("Chưa nhập mật khẩu mới hoặc nhập lại mật khẩu mới chưa đúng", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
               XtraMessageBox.Show("Lỗi! Nhập mật khẩu cũ không đúng", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
          }

        private void txt_OldPassword_Validating(object sender, CancelEventArgs e)
        {
            if (txt_OldPassword.Text + "" == "")

                dxEP.SetError(txt_OldPassword, "Mật khẩu cũ không được trống !!!");
            else
                dxEP.SetError(txt_OldPassword, "");
        }

        private void txt_NewPassword_Validating(object sender, CancelEventArgs e)
        {
            if (txt_NewPassword.Text + "" == "")

                dxEP.SetError(txt_NewPassword, "Mật khẩu mới không được trống !!!");
            else
                dxEP.SetError(txt_NewPassword, "");
        }

        private void txt_ConfirmNewPassword_Validating(object sender, CancelEventArgs e)
        {
            if (txt_ConfirmNewPassword.Text + "" == "")

                dxEP.SetError(txt_ConfirmNewPassword, "Mật khẩu mới không được trống !!!");
            else
                dxEP.SetError(txt_ConfirmNewPassword, "");
        }
    }
}
